/************************************************************************

								Heroes IV
					  Copyright 2000, The 3DO Company

	------------------------------------------------------------------
  						 attackable_object.h

	$Header: /heroes4/attackable_object.h $

	$NoKeywords: $

 ************************************************************************/

#if !defined( ABSTRACT_TARGET_H_INCLUDED )
#define ABSTRACT_TARGET_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

enum t_spell;

// this is a virtual base class used for attackable objects and abstract
// combat creatures
class t_abstract_target
{
public:
	t_abstract_target();

	virtual bool	belongs_to( bool defender ) const;
	virtual bool	controlled_by( bool defender ) const;
	int				get_wounds() const;
	virtual bool	is_active( t_spell spell ) const;
protected:
	int m_wounds;
};

inline t_abstract_target::t_abstract_target()
{
	m_wounds = 0;
}

inline int t_abstract_target::get_wounds() const
{
	return m_wounds;
}

#endif